package Annotations;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.lang.reflect.*;

/**
 * 这是一个类。。。。
 * @Other 孙佳帆
 * @Version 1.6
 * @Deprecated 什么也没有
 * @Date 2019.10.11
 */
//@myAnno(age = 10, name = "cat", ENUM = ENUM.RED, str = {"sss"}, myanno2 = @myAnno2)
@myAnno(classMethod = "show",className = "Animal")
public class Demo {
public static void main(String[]args) throws Exception {
    Animal a = new Animal();
        Class c =  a.getClass();
        int num=0;
    BufferedWriter bw = new BufferedWriter(new FileWriter("erro.txt"));
    bw.write("ww");
    bw.flush();
        Method[] me = c.getMethods();
        for(Method m:me){
            if(m.isAnnotationPresent(myAnno2.class)){
                try {
                    m.invoke(a);
                }catch (Exception e){
                    bw.write(m.getName()+"方法出错了");
                    bw.newLine();
                    bw.write("异常名称"+e.getCause().getClass().getSigners());
                    bw.newLine();
                    bw.write("异常原因"+e.getCause().getMessage());
                    bw.newLine();
                    bw.write("------------------------");
                    bw.newLine();
                }

                num++;
            }
        }
        bw.flush();
        bw.close();
        }

    /**
     *显示打印值
     * @Param i int类型整数
     * @Return void
     * @Exception Exception
     *  @Date 2019.10.11
     *  @Deprecated 什么也没有
     */
    public static void show(int i){
        System.out.println("wwwww");
    }

}
